/*
 * File:   plansza.h
 * Author: Lala
 *
 * Created on 16 kwiecień 2011, 12:50
 */

#ifndef PLANSZA_H
#define	PLANSZA_H

#ifdef	__cplusplus
extern "C" {
#endif




#ifdef	__cplusplus
}
#endif

#endif	/* PLANSZA_H */

#define false 0
#define true (-1)

#include "curses.h"
#include "list.h"

enum pionek { Pusty, Bialy, Czarny, BialaDamka, CzarnaDamka, Zbity };
struct XYstruct
{
		int x;
		int y;
};


struct poleStruct
{
		int lp;
                int ruch;
		enum pionek typ;
		struct poleStruct *lewy;
		struct poleStruct *prawy;
		struct poleStruct *tlewy;
		struct poleStruct *tprawy;
};



struct ruchStruct
{
     enum pionek pole[32];

};

struct ruchStruct sytuacja_ruchu[200];
struct list *sekwencja[200];
void zeruj_plansze(struct poleStruct pole[]);
void plansza(struct poleStruct pole[]);
void Przesun(struct poleStruct pole[], int skad, int dokad);
int XYtoNR(int x, int y);
bool sprawdz_bicie(struct poleStruct pole[], enum pionek gracz, int nr, int *ile_zbitych, int *max_zbitych, int *liczba_ruchow, struct list *tmpSeq);
bool sprawdz_bicie_damki(struct poleStruct pole[], int *ile_zbitych, int *max_zbitych, int *liczba_ruchow, enum pionek gracz, int nr, struct list *tmpSeq);
int sprawdzRuch(struct list * ruch, int liczba_ruchow);